package com.ficus.road.maintain.core.model;

import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.fasterxml.jackson.annotation.JsonInclude;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.springframework.data.annotation.Transient;

import java.util.List;

/**
 * @Author hao.zhou1
 * @Since 2021/4/7 下午8:22
 */
@Data
@Builder
@JsonInclude(JsonInclude.Include.NON_NULL)
@JsonIgnoreProperties(ignoreUnknown = true)
@NoArgsConstructor
@AllArgsConstructor
public class HitAttrs {
    // gps信息
    private GpsLocation gpsLocation;
    // gps坐标用于查询
    private List<Double> location;
    //状态
    private HitStatusEnum status;
    //car id
    private String carId;
    // 告警确认信息
    private Confirmation confirmation;
    // 病害图名称
    private String sceneImageName;
    // 病害图url
    private String sceneImage;
    // 标段编码
    private String sectionCode;
    // 标段名称
    private String section;
    //养护所
    private String handleOfficeCode;
    //养护所
    private String handleOffice;
    //养护公司编码
    private String handleCompanyCode;
    //养护公司
    private String handleCompany;
    //处置意见
    private String description;
    //三方病害描述
    private String descriptionThird;
    //处置人
    private String handlePerson;
    //带框图片
    private String frameImageUrl;
    //处理后图片
    private List<String> resolveImageUrl;
    //是否需要复核
    private Boolean needConfirm;
    //开始处置时间
    private Long startHandleTime;
    //结束处置时间
    private Long finishHandleTime;
    // 桩号
    private String stake;
    //发生路段
    private String roadName;
    // 道路类型
    private String roadType;
    //病害处置限定天数
    private Integer limitHour;
    // 剩余处理时间
    private Integer restResolveHour;
    // 来源
    private String source;
    //推送养护公司
    private boolean pushCompany;
    // 病害唯一id
    private String diseaseUid;
    //病害所属路段
    private String roadSection;
    //闭环类型
    private Integer loop;

    private Boolean isTop;
    @Transient
    private String picturePath;

    private String SmartRoadSecId;
    // 道路类型：公路，道路
    private String SmartRoasSecType;
    // 1.提醒 2.处置 3.试运行 4.复核
    private String flowType;
    // 标记是否推送到三方
    private Boolean isPushThird;

    private Float traCongestionIndex;

    private String roadDirection;
}
